From 85143e8376bf1276d39af3a3c84fc972cf1d4ec0 Mon Sep 17 00:00:00 2001 From: Liam Date: Sun, 4 Feb 2024 20:28:43 -0500 Subject: gdb: fix load/save of fp values in a32 --- src/core/debugger/gdbstub_arch.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/core/debugger/gdbstub_arch.cpp b/src/core/debugger/gdbstub_arch.cpp index f2a407dc8..452f565be 100644 --- a/src/core/debugger/gdbstub_arch.cpp +++ b/src/core/debugger/gdbstub_arch.cpp @@ -383,7 +383,7 @@ std::string GDBStubA32::RegRead(const Kernel::KThread* thread, size_t id) const } else if (id == CPSR_REGISTER) { return ValueToHex(context.pstate); } else if (id >= D0_REGISTER && id < Q0_REGISTER) { - return ValueToHex(fprs[id - D0_REGISTER][0]); + return ValueToHex(fprs[(id - D0_REGISTER) / 2][(id - D0_REGISTER) % 2]); } else if (id >= Q0_REGISTER && id < FPSCR_REGISTER) { return ValueToHex(fprs[id - Q0_REGISTER]); } else if (id == FPSCR_REGISTER) { @@ -406,7 +406,7 @@ void GDBStubA32::RegWrite(Kernel::KThread* thread, size_t id, std::string_view v } else if (id == CPSR_REGISTER) { context.pstate = HexToValue(value); } else if (id >= D0_REGISTER && id < Q0_REGISTER) { - fprs[id - D0_REGISTER] = {HexToValue(value), 0}; + fprs[(id - D0_REGISTER) / 2][(id - D0_REGISTER) % 2] = HexToValue(value); } else if (id >= Q0_REGISTER && id < FPSCR_REGISTER) { fprs[id - Q0_REGISTER] = HexToValue(value); } else if (id == FPSCR_REGISTER) { -- cgit v1.2.3